package br.com.bankai.koby.repository.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import br.com.bankai.koby.repository.dom.DomPessoa;

/**
 * 
 * @author Leonardo
 *
 */
@Entity
@Table(name = "tb_usuario")
@PrimaryKeyJoinColumn(name = "id_pessoa")
@Inheritance(strategy = InheritanceType.JOINED)
public class Usuario extends PessoaFisica {

	private static final long serialVersionUID = -4725256219561071754L;

	public Usuario() {
		super(null, null, null);
	}

	public Usuario(Long id, String cpf, String tipo) {
		super(id, cpf, tipo);
	}

	@Column(name = "cd_papel", nullable = false)
	private String codigoPapel;

	@Column(name = "qt_tentativa", nullable = false)
	private int quantidadeTentativa;

	@Column(name = "sn_acesso", nullable = false)
	private String senhaAcesso;

	//Getters and Setters

	public String getCodigoPapel() {
		return codigoPapel;
	}

	public void setCodigoPapel(String codigoPapel) {
		this.codigoPapel = codigoPapel;
	}

	public int getQuantidadeTentativa() {
		return quantidadeTentativa;
	}

	public void setQuantidadeTentativa(int quantidadeTentativa) {
		this.quantidadeTentativa = quantidadeTentativa;
	}

	public String getSenhaAcesso() {
		return senhaAcesso;
	}

	public void setSenhaAcesso(String senhaAcesso) {
		this.senhaAcesso = senhaAcesso;
	}

	public String getDePapel() {
		return DomPessoa.domPapel.getDeValor(codigoPapel);
	}
}